#include <vector>

#include "G4VSensitiveDetector.hh"

#include "G4ImproveHit.hh"

class G4Step;
class G4HCofThisEvent;

class G4ImproveSD : public G4VSensitiveDetector{
public:
    // 构造函数
    G4ImproveSD(const G4String& name,const G4String& hitsCollectionName);
    // 析构函数
    ~G4ImproveSD() override = default;

    // SD的方法
    G4bool  ProcessHits(G4Step* step,G4TouchableHistory* history) override;
    void    Initialize(G4HCofThisEvent* hitCollection) override;
    void    EndOfEvent(G4HCofThisEvent* hitCollection) override;

private:
    G4ImproveHitsCollection* fHitsCollection = nullptr;
};